Linux工控主板的一種環(huán)形菊花鏈網(wǎng)絡(luò)方案
環(huán)形菊花鏈網(wǎng)絡(luò)是工業(yè)常用網(wǎng)絡(luò)結(jié)構(gòu),每個交換節(jié)點(diǎn)可以方便的接入以太網(wǎng)設(shè)備,構(gòu)成星形結(jié)構(gòu),而交換節(jié)點(diǎn)與節(jié)點(diǎn)之間相互連接,又構(gòu)成環(huán)形結(jié)構(gòu)。環(huán)形菊花鏈設(shè)備接入方便,減少了單純星形結(jié)構(gòu)冗長的布線。同時,又能通過交換節(jié)點(diǎn)之間的環(huán)形結(jié)構(gòu)達(dá)到鏈路冗余備份的功能,相對線性菊花鏈網(wǎng)絡(luò)成本更低。
通常需要采用具有環(huán)網(wǎng)功能的交換機(jī)作為環(huán)形菊花鏈網(wǎng)絡(luò)中的交換節(jié)點(diǎn),運(yùn)行STP/RSTP/MSTP協(xié)議,以防止二層的廣播風(fēng)暴。英創(chuàng)公司結(jié)合自身產(chǎn)品特點(diǎn),以EM9287工控主板為核心,提出了一種小型、低成本的環(huán)形菊花鏈組網(wǎng)方案。
英創(chuàng)公司采用Davicom公司的DM8606作為交換芯片(支持RSTP協(xié)議),開發(fā)了一個小型交換機(jī)環(huán)網(wǎng)擴(kuò)展模塊ETA713。如圖1所示,ETA713具有5個以太網(wǎng)口,其中P0、P1作為環(huán)網(wǎng)接口,P2、P3作為普通網(wǎng)口,P4作為CPU port,與EM9287的eth0傳輸數(shù)據(jù)。同時,EM9287通過DM8606的SMI接口對其進(jìn)行控制。將P0-P3在ETA713的評估底板上以RJ45的接口引出,可以組建如圖2所示的環(huán)形菊花鏈網(wǎng)絡(luò)。
圖1 EM9287 & ETA713
圖2 EM9287 & ETA713組建環(huán)形菊花鏈網(wǎng)絡(luò)
為防止環(huán)形網(wǎng)絡(luò)可能造成的二層網(wǎng)絡(luò)風(fēng)暴,我們移植了RSTP協(xié)議,作為后臺程序運(yùn)行在EM9287上。RSTP為每個端口分配一個端口角色,包括:根端口(ROOT Port)、指定端口(DESIGNED Port)、替換端口(ALTERNATED Port)、備份端口(BACKUP Port)和禁用端口(DISABLED Port)。每個端口有3個狀態(tài):轉(zhuǎn)發(fā)狀態(tài)(Forwarding)、學(xué)習(xí)狀態(tài)(Learning)和丟棄狀態(tài)(Discarding)。
RSTP協(xié)議狀態(tài)機(jī)根據(jù)DM8606傳輸過來的BPDU幀,決定端口的角色和狀態(tài),選擇既非ROOT又非DESIGNED的端口作為ALTERNATED端口,禁止其轉(zhuǎn)發(fā)功能,消除“環(huán)路”,如下圖所示。此時,如果中斷SW2交換節(jié)點(diǎn)的P1口,其P0口將迅速轉(zhuǎn)變?yōu)镽OOT PORT(P1變?yōu)镈ISABLED Port,不參與RSTP運(yùn)算),SW2的網(wǎng)絡(luò)幀將迅速從P0端口經(jīng)環(huán)路的另一邊傳輸?shù)侥康牡豏OOT BRIDGE。
圖3 網(wǎng)絡(luò)收斂原始狀態(tài)
圖4 中斷SW2 P1后的網(wǎng)絡(luò)狀態(tài)
此外,因為RSTP是作為后臺程序運(yùn)行在EM9287上,且CPU占用資源低于1%,EM9287仍然可以運(yùn)行用戶所需的其他應(yīng)用程序。而本質(zhì)上,我們也是用一個擴(kuò)展模塊實(shí)現(xiàn)了簡單的環(huán)網(wǎng)交換功能,取代了原來的環(huán)網(wǎng)交換機(jī)。
提交
Windows下STM32單片機(jī)eclipse編譯環(huán)境搭建
Android Studio應(yīng)用開發(fā)簡介
WinCE工控主板WiFi解決方案
敬請關(guān)注成都英創(chuàng)微信公眾號
WinCE工控主板通過PPI協(xié)議連接西門子PLC